package com.nbcio.cd.domain.bo;

import com.nbcio.cd.domain.CdFolder;
import com.nbcio.common.core.validate.AddGroup;
import com.nbcio.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * 云网盘文件夹业务对象 cd_folder
 *
 * @author nbacheng
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CdFolderBo extends CdFolder {

    /**
     * 文件夹ID
     */
    @NotNull(message = "文件夹ID不能为空", groups = { EditGroup.class })
    private Long folderId;

    /**
     * 文件夹名称
     */
    @NotBlank(message = "文件夹名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String folderName;

    /**
     * 父文件夹ID
     */
    @NotNull(message = "父文件夹ID不能为空", groups = { AddGroup.class })
    private Long parentId;

    /**
     * 文件夹大小（格式化显示）
     */
    private String folderSizeFormatted;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 所有者名称
     */
    private String ownerName;
}
